package org.dlust.ioc.test;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Objects;
import java.util.UUID;

public class Beer {
  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    Beer beer = (Beer) o;
    return Objects.equals(id, beer.id) && Objects.equals(version, beer.version) && Objects.equals(beerName, beer.beerName) && beerStyle == beer.beerStyle && Objects.equals(upc, beer.upc) && Objects.equals(quantityOnHand, beer.quantityOnHand) && Objects.equals(price, beer.price) && Objects.equals(createdDate, beer.createdDate) && Objects.equals(updateDate, beer.updateDate);
  }

  @Override
  public int hashCode() {
    return Objects.hash(id, version, beerName, beerStyle, upc, quantityOnHand, price, createdDate, updateDate);
  }

  public UUID getId() {
    return id;
  }

  public void setId(UUID id) {
    this.id = id;
  }

  public Integer getVersion() {
    return version;
  }

  public void setVersion(Integer version) {
    this.version = version;
  }

  public String getBeerName() {
    return beerName;
  }

  public void setBeerName(String beerName) {
    this.beerName = beerName;
  }

  public BeerStyle getBeerStyle() {
    return beerStyle;
  }

  public void setBeerStyle(BeerStyle beerStyle) {
    this.beerStyle = beerStyle;
  }

  public String getUpc() {
    return upc;
  }

  public void setUpc(String upc) {
    this.upc = upc;
  }

  public Integer getQuantityOnHand() {
    return quantityOnHand;
  }

  public void setQuantityOnHand(Integer quantityOnHand) {
    this.quantityOnHand = quantityOnHand;
  }

  public BigDecimal getPrice() {
    return price;
  }

  public void setPrice(BigDecimal price) {
    this.price = price;
  }

  public LocalDateTime getCreatedDate() {
    return createdDate;
  }

  public void setCreatedDate(LocalDateTime createdDate) {
    this.createdDate = createdDate;
  }

  public LocalDateTime getUpdateDate() {
    return updateDate;
  }

  public void setUpdateDate(LocalDateTime updateDate) {
    this.updateDate = updateDate;
  }

  private UUID id;
  private Integer version;
  private String beerName;
  private BeerStyle beerStyle;
  private String upc;
  private Integer quantityOnHand;
  private BigDecimal price;
  private LocalDateTime createdDate;
  private LocalDateTime updateDate;

}
